// \u4e00-\u9fa5] 中文验证规则

Page({
  data: {
    idcardFrontUrl: '/static/images/avatar_1.jpg',
    idcardBackUrl: '/static/images/avatar_2.jpg',
    name: '',
    gender: 0,
    mobile: ''
  },
  onLoad({
    point,
    building,
    room,
    id
  }) {
    if (id) {
      //修改导航标题文字
      wx.setNavigationBarTitle({
        title: '修改房屋信息'
      })
      this.getRoomDetail(id)
    }
    else {
      // console.log(point, building, room, 1111111111);
      // 保存到 data里面
      this.setData({
        point,
        building,
        room
      })
    }
  },
  //获取房屋详情信息
  async getRoomDetail(id) {
    const res = await wx.http.get(`/room/${id}`)
    console.log(res.data);
    this.setData({
      ...res.data
    })

  },
  //校验业主姓名
  checkName() {
    const reg = /^(?:[\u4e00-\u9fa5·]{2,16})$/
    const vaild = reg.test(this.data.name.trim())
    if (!vaild) return wx.utils.toast('请输入合法的姓名')
    return vaild
  },
  //校验业主手机号码
  checkMobile() {
    const reg = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[1589]))\d{8}$/
    const vaild = reg.test(this.data.mobile.trim())
    if (!vaild) return wx.utils.toast('请输入合法的手机号码')
    return vaild
  },
  //校验业住是否选择了身份证
  checkPicture() {
    const vaild = Boolean(this.data.idcardFrontUrl) && Boolean(this.data.idcardBackUrl)
    if (!vaild) return wx.utils.toast('请上传身份证')
    return vaild
  },
  async onSubmit() {
    if (!this.checkName()) return
    if (!this.checkMobile()) return
    if (!this.checkPicture()) return
    //删除data里面多余的数据
    delete this.data.__webviewId__
    delete this.data.status
    //发送请求
    await wx.http.post('/room', this.data)
    wx.utils.toast(this.data.id ? '修改房屋成功' : '添加房屋成功')
    //跳转页面
    wx.navigateBack({
      delta: this.data.id ? 2 : 4
    })
  },
  removePicture(ev) {
    // 移除图片的类型（身份证正面或反面）
    const type = ev.mark.type
    this.setData({ [type]: '' })
  },
  //选择身份证图片
  async choosePicture(e) {
    // console.log(e, 1111);
    //记录选择身份证的类型
    const { type } = e.mark
    console.log(type, 5555555);
    const res = await wx.chooseMedia({
      count: 1, // 只能选择1张图片
      mediaType: ['image'], // 只能选择图片类型
      sizeType: ['compressed'], // 默认为压缩模式
    })
    // 图片符合就上传给服务器
    wx.uploadFile({
      filePath: res.tempFiles[0].tempFilePath,
      name: 'file',
      url: 'https://live-api.itheima.net/upload',
      header: {
        Authorization: `Bearer ${getApp().token}`
      },
      success: res => {
        console.log(res);
        const data = JSON.parse(res.data)
        //将上传成功后的图片预览处理
        this.setData({
          [type]: data.data.url
        })
      }
    })
  }
})
